function setTimefn(value, timeout) {
  return new Promise(function(resolve,reject){
    setTimeout(() => {
      resolve(value)
    }, timeout);
  })
}
// 第一种
setTimefn('hello',10).then(res=>{
  return setTimefn(res+' lagou', 10)
}).then(res=>{
  return setTimefn(res+' I ❤ U',10)
}).then(res=>{
  console.log(res)
})
// 第二种
Promise.all([setTimefn('hello',10),setTimefn('lagou',10),setTimefn('I ❤ U',10)]).then(result=>{
  console.log(result.join(' '))
})